package com.ssm.entity;

import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableLogic;
import lombok.Data;

import java.io.Serializable;
import java.util.Date;
@Data
public class BaseEntity implements Serializable { //实现序列化接口(把对象转换为字节序列的过程称为对象的序列化)
    //当我们需要把对象的状态信息通过网络进行传输，或者需要将对象的状态信息持久化，以便将来使用时都需要把对象进行序列化。

    @TableField(fill = FieldFill.INSERT)
    private String createBy; //记录新增操作

    @TableField(fill = FieldFill.INSERT)
    private Date createTime;

    @TableField(fill = FieldFill.UPDATE)
    private String updateBy; //记录更新操作

    @TableField(fill = FieldFill.UPDATE)
    private Date updateTime;

    @TableField(fill = FieldFill.INSERT)
    @TableLogic //指定逻辑删除字段(需配合yml文件配置使用)
    private Integer deleteFlag; //逻辑删除

    @TableField(fill = FieldFill.INSERT)
    private Integer version; //乐观锁
}
